Library Packages
library(tidyverse)
[37m-- [1mAttaching packages[22m --------------------------------------- tidyverse 1.2.1 --[39m
[37m[32mv[37m [34mggplot2[37m 3.1.0 [32mv[37m [34mpurrr [37m 0.2.5
[32mv[37m [34mtibble [37m 2.0.1 [32mv[37m [34mdplyr [37m 0.7.8
[32mv[37m [34mtidyr [37m 0.8.2 [32mv[37m [34mstringr[37m 1.4.0
[32mv[37m [34mreadr [37m 1.3.1 [32mv[37m [34mforcats[37m 0.3.0[39m
[37m-- [1mConflicts[22m ------------------------------------------ tidyverse_conflicts() --
[31mx[37m [34mdplyr[37m::[32mfilter()[37m masks [34mstats[37m::filter()
[31mx[37m [34mdplyr[37m::[32mlag()[37m masks [34mstats[37m::lag()[39m
library(plotly)
Attaching package: 㤼㸱plotly㤼㸲
The following object is masked from 㤼㸱package:ggplot2㤼㸲:
last_plot
The following object is masked from 㤼㸱package:stats㤼㸲:
filter
The following object is masked from 㤼㸱package:graphics㤼㸲:
layout
Data
duke_ncaa_forcast <-
read_csv("https://raw.githubusercontent.com/fivethirtyeight/data/master/historical-ncaa-forecasts/historical-538-ncaa-tournament-model-results.csv",
col_types = cols(year = col_date(format = "%Y"), favorite_win_flag = col_logical())) %>%
filter(favorite == "Duke", round < 3)
duke_ncaa_forcast
ggplot2
duke_2ndround_win_probability <-
ggplot(duke_ncaa_forcast, aes(x = year, y = favorite_probability)) +
geom_point(aes(color = favorite_win_flag,
shape = favorite_win_flag), size = 4) +
geom_line()
duke_2ndround_win_probability

Plotly via ggplotly
ggplotly(duke_2ndround_win_probability)
LS0tDQp0aXRsZTogIkV4ZXJjaXNlOiBTaW1wbGUgSW50ZXJhY3Rpdml0eSINCnN1YnRpdGxlOiAgImdncGxvdGx5ICYgVGltZSBTZXJpZXMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyBMaWJyYXJ5IFBhY2thZ2VzDQoNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHBsb3RseSkNCmBgYA0KDQojIyBEYXRhDQoNCmBgYHtyfQ0KZHVrZV9uY2FhX2ZvcmNhc3QgPC0NCiAgcmVhZF9jc3YoImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9maXZldGhpcnR5ZWlnaHQvZGF0YS9tYXN0ZXIvaGlzdG9yaWNhbC1uY2FhLWZvcmVjYXN0cy9oaXN0b3JpY2FsLTUzOC1uY2FhLXRvdXJuYW1lbnQtbW9kZWwtcmVzdWx0cy5jc3YiLCANCiAgICBjb2xfdHlwZXMgPSBjb2xzKHllYXIgPSBjb2xfZGF0ZShmb3JtYXQgPSAiJVkiKSwgZmF2b3JpdGVfd2luX2ZsYWcgPSBjb2xfbG9naWNhbCgpKSkgJT4lIA0KICBmaWx0ZXIoZmF2b3JpdGUgPT0gIkR1a2UiLCByb3VuZCA8IDMpDQoNCmR1a2VfbmNhYV9mb3JjYXN0DQpgYGANCg0KIyMgZ2dwbG90MiAgDQoNCmBgYHtyfQ0KZHVrZV8ybmRyb3VuZF93aW5fcHJvYmFiaWxpdHkgPC0gDQpnZ3Bsb3QoZHVrZV9uY2FhX2ZvcmNhc3QsIGFlcyh4ID0geWVhciwgeSA9IGZhdm9yaXRlX3Byb2JhYmlsaXR5KSkgKw0KICBnZW9tX3BvaW50KGFlcyhjb2xvciA9IGZhdm9yaXRlX3dpbl9mbGFnLCANCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBmYXZvcml0ZV93aW5fZmxhZyksIHNpemUgPSA0KSArDQogIGdlb21fbGluZSgpIA0KDQpkdWtlXzJuZHJvdW5kX3dpbl9wcm9iYWJpbGl0eQ0KYGBgDQoNCiMjIFBsb3RseSB2aWEgZ2dwbG90bHkNCg0KYGBge3J9DQpnZ3Bsb3RseShkdWtlXzJuZHJvdW5kX3dpbl9wcm9iYWJpbGl0eSkNCmBgYA0KDQo=